In computer networks, a number of network stations are typically interconnected via a communications medium. For example, Ethernet 802.3 is a commonly used local area network (LAN) scheme in which multiple stations are connected to a shared or dedicated serial data path. These stations often communicate with a switch or some other network device located between the data path and the stations connected to that path. The switch typically controls the communication of data and includes logic for receiving and forwarding data frames to their appropriate destinations.
When all of the stations connected to the network are simultaneously operating and transmitting data at high speeds, data traffic on the switch may become heavy. Accordingly, some switches may drop received data frames when a congestion condition occurs. That is, the switch may stop processing a data frame when one or more resources on the switch associated with processing the data frame cannot perform their intended functions. In this case, the data frame is not forwarded to its intended destination. A drawback with conventional switches that drop data frames when data traffic is heavy is that the data frame often uses a number of the switch's resources before the data frame is ultimately dropped. This often reduces the overall data throughput of the switch.